<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JS运算符</title>
</head>
<body>
<script>
    //如果比较运算符左右两边有数字，会转为数字再进行比较    console.log(3>10);
    console.log(3 > '10');
    console.log('3' > 10);
    // 如果比较运算符左右两边都是字符串，会比较他们的编码值
    console.log('3' > '10');//51>49=>true
    //'3'.CharCodeAt()查看字符的编码值
    console.log('3'.charCodeAt());
    console.log('10'.charCodeAt());
    console.log('超' > '博');

    //除法会按照实际结果显示结果
    console.log(6 / 2);//3
    console.log(3 / 2);//1.5

    let a = 1;
    let b = true;
    //松散比较运算符，只比较值，Number(true)=1
    console.log(a == b)//true
    //严格比较运算符，先比较类型，在比较值 number≠true
    console.log(a === b)//false

    //Number() 将参数转换为数字，如果得不到数字结果，就是NaN（Not a Number）
    //Boolean()  一下5个特殊值转Boolean都是false
    console.log(Boolean(false))
    console.log(Boolean(0))
    console.log(Boolean(''))
    console.log(Boolean(undefined))
    console.log(Boolean(null))

    //三元运算符，三目运算符

    let c = 0;
    //==是返回布尔值
    console.log(c == 0 ? '是0' : '不是0');
    //=是赋值，返回的是赋值后的值，然后将0转换为boolean值，而boolean转为false，所以取3号位置的NO
    console.log(c = 'nihao' ? 'yes' : '不是0');
</script>
</body>
</html>